====== valueMean() ======

''float **valueMean**(string //Frage//)''

''float **valueMean**(string //Frage//, string|array //Items//)''

''float **valueMean**(array //Variablen//)''

Berechnet das arithmetische Mittel (Durchschnitt, Erwartungswert) über die Antwortcodes für alle Items einer Frage (z.B. einer Skala) oder für eine Liste von Variablen.

  * //Frage// -- Die Kennung einer Frage (als String)
  * //Items// -- Eine Liste (String oder Array) von Items
  * //Variablen// -- Eine Liste (Array) von Variablen-Kennungen entsprechend der **Variablen-Übersicht**

**Hinweis:** Die Verwendung funktioniert analog zu ''[[:de:create:functions:valuesum|valueSum()]]'' -- dort werden die Parameter ausführlich anhand von Beispielen dargestellt.


===== Beispiel: Filter =====

Im folgenden Beispiel wird Frage "AB02" nach dann angezeigt, wenn der Mittelwert in der Skala "AB01" mindestens 1,5 beträgt.

<code php>
$mean = valueMean('AB01');
if ($mean >= 1.5) {
  question('AB02');
}
</code>


===== Beispiel: Items =====

Der folgende PHP-Code berechnet den Mittelwert der Items 2, 4, 6, 8 und 10 in der Frage AB02.

<code php>
valueMean('AB01', [2, 4, 6, 8, 10])
</code>


===== Beispiel: Variablen =====

Der folgende PHP-Code berechnet den Mittelwert aus den Variablen AB03_01, AB03_02, BB01_02 und BB01_04.

<code php>
valueMean(['AB03_01', 'AB03_02', 'BB01_02', 'BB01_04'])
</code>

Ob ein [[:de:create:array|Array]] in einer Zeile oder über mehrere Zeilen definiert werden, ist für die Funktion unerheblich, kann aber die Übersichtlichkeit verbessern.

<code php>
valueMean([
    'AB03_01', 'AB03_02',
    'BB01_02', 'BB01_04'
])
</code>


===== Beispiel: Gewichtung =====

Einen gewichteten Mittelwert können Sie nicht über ''valueMean()'' berechnen, aber mithilfe einer FOR-Schleife und einfacher Rechenoperationen ist auch ein solcher gewichteter Mittelwert mittels PHP einfach zu berechnen.

<code php>
$weights = [
    'AB03_01' => 1.1,
    'AB03_02' => 1.4,
    'BB01_02' => 0.7,
    'BB01_04' => 0.8
];
$sumValue = 0;
$sumWeight = 0;

foreach ($weights as $varID => $weight) {
    $val = (float)value($varID);
    // Fehlende Daten (≤0) ausschließen
    if ($val > 0) {
        $sumValue+= $val * $weight;
        $sumWeight+= $weight;
    }
}

// Mittelwert = Summe dividiert durch Anzahl
if ($sumWeight == 0) {
  $mean = -1;  // No data
} else {
  $mean = $sumValue / $sumWeight;
}
</code>